Hackers can develop malicious code (e.g., malware, viruses, etc.) to exploit vulnerabilities of a software application by studying the underlying functionalities of the application. This may involve reverse engineering the compiled code to obtain the source code of the application. One technique to combat hackers is to monitor the release of any malicious code, identify the security flaws exploited by the malicious code, and deploy a new version of the application to patch the security flaws. However, such a technique takes a reactive approach and does little to thwart a successful attack from happening in the first place.
Embodiments of the invention address this and other problems, individually and collectively.